package com.gc.business.service.impl;

import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gc.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gc.business.mapper.ElevatorFaultMapper;
import com.gc.business.domain.ElevatorFault;
import com.gc.business.service.IElevatorFaultService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;

/**
 * 电梯故障 服务层实现
 * 
 * @author liujinteng
 * @date 2020-11-20
 */
@Slf4j
@Service
public class ElevatorFaultServiceImpl extends ServiceImpl<ElevatorFaultMapper, ElevatorFault> implements IElevatorFaultService {

    @Autowired
    private ElevatorFaultMapper elevatorFaultMapper;


    @Override
    public List<ElevatorFault> list(ElevatorFault elevatorFault){
        LambdaQueryWrapper<ElevatorFault> wrapper = new LambdaQueryWrapper<>();
        if(elevatorFault != null){
            if(StringUtils.isNotEmpty(elevatorFault.getFaultId())){
                wrapper.eq(ElevatorFault::getFaultId, elevatorFault.getFaultId());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getElevatorId())){
                wrapper.eq(ElevatorFault::getElevatorId, elevatorFault.getElevatorId());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getElevatorName())){
                wrapper.like(ElevatorFault::getElevatorName, elevatorFault.getElevatorName());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getFaultCode())){
                wrapper.eq(ElevatorFault::getFaultCode, elevatorFault.getFaultCode());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getRepairOrder())){
                wrapper.eq(ElevatorFault::getRepairOrder, elevatorFault.getRepairOrder());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDispatchPeople())){
                wrapper.like(ElevatorFault::getDispatchPeople, elevatorFault.getDispatchPeople());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDispatchDate())){
                wrapper.eq(ElevatorFault::getDispatchDate, elevatorFault.getDispatchDate());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getReportType())){
                wrapper.eq(ElevatorFault::getReportType, elevatorFault.getReportType());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getReportTime())){
                wrapper.like(ElevatorFault::getReportTime, elevatorFault.getReportTime());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getFaultType())){
                wrapper.eq(ElevatorFault::getFaultType, elevatorFault.getFaultType());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getFaultMessage())){
                wrapper.like(ElevatorFault::getFaultMessage, elevatorFault.getFaultMessage());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getFaultImage())){
                wrapper.eq(ElevatorFault::getFaultImage, elevatorFault.getFaultImage());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getFaultFloor())){
                wrapper.eq(ElevatorFault::getFaultFloor, elevatorFault.getFaultFloor());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getRemoveTime())){
                wrapper.eq(ElevatorFault::getRemoveTime, elevatorFault.getRemoveTime());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDisposeState())){
                wrapper.eq(ElevatorFault::getDisposeState, elevatorFault.getDisposeState());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDisposeMan())){
                wrapper.like(ElevatorFault::getDisposeMan, elevatorFault.getDisposeMan());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDisposeDate())){
                wrapper.eq(ElevatorFault::getDisposeDate, elevatorFault.getDisposeDate());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getDisposeOpin())){
                wrapper.eq(ElevatorFault::getDisposeOpin, elevatorFault.getDisposeOpin());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getIsOverhaul())){
                wrapper.eq(ElevatorFault::getIsOverhaul, elevatorFault.getIsOverhaul());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getCreateBy())){
                wrapper.eq(ElevatorFault::getCreateBy, elevatorFault.getCreateBy());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getCreateTime())){
                wrapper.like(ElevatorFault::getCreateTime, elevatorFault.getCreateTime());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getUpdateBy())){
                wrapper.eq(ElevatorFault::getUpdateBy, elevatorFault.getUpdateBy());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getUpdateTime())){
                wrapper.eq(ElevatorFault::getUpdateTime, elevatorFault.getUpdateTime());
            }
            if(StringUtils.isNotEmpty(elevatorFault.getRemark())){
                wrapper.eq(ElevatorFault::getRemark, elevatorFault.getRemark());
            }
        }
        return baseMapper.selectList(wrapper);
    }


    @Override
    public ElevatorFault findFaultByCode(String faultCode) {
        return elevatorFaultMapper.findFaultByCode(faultCode);
    }

    /**
     * 列表权限关联查询
     * @param elevatorFault
     * @return
     */
    @Override
    public List<ElevatorFault> selectElevatorFaultList(ElevatorFault elevatorFault){
        return baseMapper.selectElevatorFaultList(elevatorFault);
    }

}
